package com.edu.exam.enums.examination.paper;

import com.edu.exam.enums.core.BaseEnum;

/**
 * 分割处理算法枚举
 */
public enum SegmentationProcessingAlgorithm implements BaseEnum {
    THRESHOLDING("THRESHOLDING", "阈值分割"),
    EDGE_DETECTION("EDGE_DETECTION", "边缘检测"),
    REGION_GROWING("REGION_GROWING", "区域生长"),
    WATERSHED("WATERSHED", "分水岭"),
    CONTOUR_DETECTION("CONTOUR_DETECTION", "轮廓检测"),
    MORPHOLOGICAL("MORPHOLOGICAL", "形态学"),
    CLUSTERING("CLUSTERING", "聚类分割"),
    GRAPH_CUT("GRAPH_CUT", "图割"),
    ACTIVE_CONTOUR("ACTIVE_CONTOUR", "活动轮廓"),
    LEVEL_SET("LEVEL_SET", "水平集"),
    MEAN_SHIFT("MEAN_SHIFT", "均值漂移"),
    FELZENSZWALB("FELZENSZWALB", "Felzenszwalb算法"),
    QUICKSHIFT("QUICKSHIFT", "QuickShift算法"),
    SLIC("SLIC", "SLIC超像素"),
    SEEDS("SEEDS", "SEEDS算法"),
    LSC("LSC", "LSC超像素"),
    ERS("ERS", "ERS算法"),
    RANDOM_WALKER("RANDOM_WALKER", "随机游走"),
    SUPERPIXEL_CLUSTERING("SUPERPIXEL_CLUSTERING", "超像素聚类"),
    BINARY_SEGMENTATION("BINARY_SEGMENTATION", "二值分割"),
    MULTI_SCALE("MULTI_SCALE", "多尺度分割"),
    ADAPTIVE_THRESHOLDING("ADAPTIVE_THRESHOLDING", "自适应阈值"),
    OTSU("OTSU", "大津法"),
    KAPUR("KAPUR", "Kapur熵法"),
    TSALLIS("TSALLIS", "Tsallis熵法");

    private final String code;
    private final String description;

    SegmentationProcessingAlgorithm(String code, String description) {
        this.code = code;
        this.description = description;
    }

    @Override
    public String getCode() {
        return code;
    }

    @Override
    public String getDescription() {
        return description;
    }
}
